package cn.iocoder.an.module.mold.controller.admin.drawingno.vo;

import cn.idev.excel.annotation.ExcelIgnore;
import cn.idev.excel.annotation.ExcelProperty;
import cn.iocoder.an.framework.excel.core.annotations.DictFormat;
import cn.iocoder.an.framework.excel.core.convert.DictConvert;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;


@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = false) // 设置 chain = false，避免导入有问题
public class DrawingNoImportExcelVO {
    @ExcelIgnore
    private Long id;

    @Schema(description = "图号", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("图号")
    private String drawingNo;

    @Schema(description = "客户名")
    @ExcelProperty("客户名")
    private String customer;

    @Schema(description = "模具类型编码")
    @ExcelProperty("模具类型编码")
    private String categoryCode;

    @ExcelIgnore
    private Long categoryId;

    @Schema(description = "保养类型")
    @ExcelProperty("保养类型编码")
    private String upkeepCode;

    @ExcelIgnore
    private Long upkeepId;

    @Schema(description = "复检类型")
    @ExcelProperty("复检类型编码")
    private String recheckCode;

    @ExcelIgnore
    private Long recheckId;

    @Schema(description = "寿命扣减方式")
    @ExcelProperty("寿命扣减方式(1.自动 0.手动  默认1)")
    private Integer lifeDeductionId;

    @Schema(description = "默认库存状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    @DictFormat("mold_inventory_status")
    @ExcelProperty(value = "默认库存状态(1.在库 0.出库  默认1)",converter = DictConvert.class)
    private String inventoryStatus;

    @Schema(description = "默认绑定设备编码", example = "15975")
    @ExcelProperty("默认绑定设备编码")
    private String devCode;

    @ExcelIgnore
    private Long devId;

    @Schema(description = "默认仓库编码")
    @ExcelProperty("默认仓库编码")
    private String warehouseCode;

    @ExcelIgnore
    private Long warehouseId;

    @Schema(description = "默认储位编码")
    @ExcelProperty("默认储位编码")
    private String storageCode;

    @ExcelIgnore
    private Long storageId;

    @Schema(description = "描述", example = "你猜")
    @ExcelProperty("描述")
    private String description;

}
